﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MaquinaJMG.GUI.Contrato;
using MaquinaJMG.GUI.Presentador;

namespace MaquinaJMG.GUI.Vista
{
    public partial class Login : Form,IContratoLogin
    {
        private PresentadorLogin _presentadorLogin;
           
        private string claveUsuario = "";
        private string cadena;
        private bool flagsClave;
        public TextBox clave
        {
            get
            {
                { return TxtClave; }
            }
            set
            {
                { TxtClave = value; }
            }
        }

        public TextBox login
        {
            get
            {
                { return TxtLogin; }
            }
            set
            {
                { TxtLogin = value; }
            }
        }
        private eventosDisponibles _anteriror;
        public Login(eventosDisponibles anterior)
        {
            _anteriror = anterior;
            _presentadorLogin = new PresentadorLogin(this);
            InitializeComponent();
            this.SetVisibleCore(true);
        }
        
        private void cmdIngresar_Click(object sender, EventArgs e)
        {
            
            
            int resultado = 0;
             resultado = _presentadorLogin.VerificacionLogin(TxtLogin.Text.ToLower(), claveUsuario.ToLower());

            if (resultado == 0)
            {
                MessageBox.Show("Usuario no Registrado", "Advertencia",
               MessageBoxButtons.OK, MessageBoxIcon.Question); ;
                //String script = @"<script language = ""JavaScript""> alert('Usted no se encuentra registrado'); location.href=""Inicio.aspx""; </script>";
               // MostrarMensaje(script);

            }
            else
            {
                this.SetVisibleCore(false);
                PendriveImportar proxima = new PendriveImportar(this);
                proxima.Visible = true;


            }

        }

        private void encriptar(int lon)
        {
            string encrip = "";
            for (int i = 0; i < lon; i++) 
            {
                encrip += "*";
            }
            clave.Text = encrip;
        }
        private void escribir(string letra) 
        {
            if (flagsClave)
            {
                cadena = claveUsuario;
                if (letra == "clear")
                {
                    cadena = "";
                }
                else
                {
                    if (letra == "+")
                    {
                        int pos = cadena.Length;
                        if (pos>0)
                            cadena=cadena.Remove(pos-1,1);
                    }
                    else 
                    {
                        cadena = claveUsuario;
                        cadena = cadena + letra;
                    }
                }
                claveUsuario = cadena;
                encriptar(cadena.Length);
            }
            else 
            {
                cadena = login.Text;
                if (letra == "clear")
                {
                    cadena = "";
                }
                else
                {
                    if (letra == "+")
                    {
                        int pos = cadena.Length;
                        if (pos > 0)
                            cadena = cadena.Remove(pos - 1, 1);
                    }
                    else
                    {
                        cadena = login.Text;
                        cadena = cadena + letra;
                    }
                }
                login.Text = cadena;
            }
        }
        private void TxtLogin_TextChanged(object sender, EventArgs e)
        {
            flagsClave = false;
        }

        private void TxtClave_TextChanged(object sender, EventArgs e)
        {
            flagsClave = true;
        }

        private void Q_Click(object sender, EventArgs e)
        {
            escribir("Q");
        }
       

        private void button41_Click(object sender, EventArgs e)
        {
            escribir("1");
        }

        private void button40_Click(object sender, EventArgs e)
        {
            escribir("2");
        }

        private void button39_Click(object sender, EventArgs e)
        {
            escribir("3");
        }

        private void button38_Click(object sender, EventArgs e)
        {
            escribir("4");
        }

        private void button37_Click(object sender, EventArgs e)
        {
            escribir("5");
        }

        private void button36_Click(object sender, EventArgs e)
        {
            escribir("6");
        }

        private void button35_Click(object sender, EventArgs e)
        {
            escribir("7");
        }

        private void button34_Click(object sender, EventArgs e)
        {
            escribir("8");
        }

        private void button33_Click(object sender, EventArgs e)
        {
            escribir("9");
        }

        private void button32_Click(object sender, EventArgs e)
        {
            escribir("0");
        }

        private void button42_Click(object sender, EventArgs e)
        {
            escribir("@");
        }

        private void button31_Click(object sender, EventArgs e)
        {
            escribir("-");
        }

        private void button23_Click(object sender, EventArgs e)
        {
            escribir(",");
        }

        private void button22_Click(object sender, EventArgs e)
        {
            escribir(".");
        }

        private void button21_Click(object sender, EventArgs e)
        {
            escribir("_");
        }

        private void DEL_Click(object sender, EventArgs e)
        {
            escribir("+");
        }

        private void clear_Click(object sender, EventArgs e)
        {
            escribir("clear");
        }

        private void space_Click(object sender, EventArgs e)
        {
            escribir(" ");
        }

        private void W_Click(object sender, EventArgs e)
        {
            escribir("W");
        }

        private void E_Click(object sender, EventArgs e)
        {
            escribir("E");
        }

        private void R_Click(object sender, EventArgs e)
        {
            escribir("R");
        }

        private void T_Click(object sender, EventArgs e)
        {
            escribir("T");
        }

        private void Y_Click(object sender, EventArgs e)
        {
            escribir("Y");
        }

        private void U_Click(object sender, EventArgs e)
        {
            escribir("U");
        }

        private void I_Click(object sender, EventArgs e)
        {
            escribir("I");
        }

        private void O_Click(object sender, EventArgs e)
        {
            escribir("O");
        }

        private void P_Click(object sender, EventArgs e)
        {
            escribir("P");
        }

        private void button9_Click(object sender, EventArgs e)
        {
            escribir("A");
        }

        private void S_Click(object sender, EventArgs e)
        {
            escribir("S");
        }

        private void D_Click(object sender, EventArgs e)
        {
            escribir("D");
        }

        private void F_Click(object sender, EventArgs e)
        {
            escribir("F");
        }

        private void G_Click(object sender, EventArgs e)
        {
            escribir("G");
        }

        private void H_Click(object sender, EventArgs e)
        {
            escribir("H");
        }

        private void J_Click(object sender, EventArgs e)
        {
            escribir("J");
        }

        private void K_Click(object sender, EventArgs e)
        {
            escribir("K");
        }

        private void L_Click(object sender, EventArgs e)
        {
            escribir("L");
        }

        private void Ñ_Click(object sender, EventArgs e)
        {
            escribir("Ñ");
        }

        private void Z_Click(object sender, EventArgs e)
        {
            escribir("Z");
        }

        private void X_Click(object sender, EventArgs e)
        {
            escribir("X");
        }

        private void C_Click(object sender, EventArgs e)
        {
            escribir("C");
        }

        private void V_Click(object sender, EventArgs e)
        {
            escribir("V");
        }

        private void B_Click(object sender, EventArgs e)
        {
            escribir("B");
        }

        private void N_Click(object sender, EventArgs e)
        {
            escribir("N");
        }

        private void M_Click(object sender, EventArgs e)
        {
            escribir("M");
        }

        private void Login_Load(object sender, EventArgs e)
        {

        }

        private void button43_Click(object sender, EventArgs e)
        {
            _anteriror.Visible = true;
            this.Dispose(true);
        }

  

    }
}
